home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / BASIC / 3836.ZIP / GFACTORY.ZIP / JACKDEMO.BAS < prev    next >
BASIC Source File  |  1992-09-20  |  2KB  |  85 lines

  1. REM JACK DEMO
  2. REM COPYRIGHT 1992 JAMES A. SAUSVILLE
  3. REM ALL RIGHTS RESERVED
  4. REM THIS DEMO IS DISTRIBUTED AS A PART OF THE GRAPHICS FACTORY (1.0).
  5. REM IT IS INTENDED TO SHOW HOW GRAPHICS MAY BE USED IN YOUR OWN PROGRAMS.
  6. REM THIS PROGRAM INTENTIONALLY AVOIDS USING STRUCTURED PROGRAMMING TECHNIQUES
  7. REM TO INCREASE CLARITY.
  8.  
  9. SCREEN 9
  10.  
  11. REM PLEASE NOTE THIS PROGRAM CONTAINS NO ERROR TRAPPING
  12.  
  13. REM THE SET FILE MAY BE USED TO CHANGE THE PALETTE AND DIMENTION THE STORAGE
  14. REM ARRAY FOR THE GRAPHICS
  15.  
  16. DIM SET%(19)
  17.  
  18. FILE$ = "JACKDEMO.SET"
  19. DEF SEG = VARSEG(SET%(0))
  20. BLOAD FILE$, VARPTR(SET%(0))
  21. DEF SEG
  22.  
  23. NumFrames% = SET%(0)  ' THE NUMBER OF GRAPHICS STORED
  24. ELEMENTS% = SET%(3)   ' THE SIZE/OFFSET OF THE GRAPHICS
  25.  
  26. REM CHANGE THE PALETTE TO THE ONE STORED IN THE SET FILE
  27.  
  28. DIM CURPAL%(15)
  29.  
  30. FOR LLL = 0 TO 15
  31. CURPAL%(LLL) = SET%(4 + LLL)
  32. NEXT LLL
  33. PALETTE USING CURPAL%
  34.  
  35. REM DIMENSION THE ARRAY FOR THE GRAPHICS
  36.  
  37. DIM JACK%(NumFrames% * ELEMENTS%)
  38.  
  39. FILE$ = "JACKDEMO.GF"
  40. DEF SEG = VARSEG(JACK%(0))
  41.  BLOAD FILE$, VARPTR(JACK%(0))
  42. DEF SEG
  43.  
  44. REM DEFINE AN ANIMATION SEQUENCE FOR THE FRAMES.
  45.  
  46. A$ = "01 01 02 02 03 03 04 04 01 01 02 02 03 03 04 04 01 01 02 02 03 03 04 "
  47. B$ = "04 01 01 02 02 03 03 04 04 05 06 07 08 09 10 11 12 13 14 15 16 17 17 "
  48. C$ = "16 16 17 17 16 16 17 17 16 16 17 17 17 17 17 "
  49. ANIM$ = A$ + B$ + C$
  50.  
  51. REM MAIN ANIMATION LOOP
  52.  
  53. MAINTOP:
  54.  
  55. FOR LLL = 1 TO LEN(ANIM$) STEP 3
  56.  
  57. FRAME$ = MID$(ANIM$, LLL, 2)
  58. FRAME% = VAL(FRAME$)
  59. PUT (300, 175), JACK%((FRAME% - 1) * ELEMENTS%), PSET
  60.  
  61. GOSUB DELAY: ' REM IN A STUCTURED PROGRAM YOU SHOULD NOT USE GOSUB- SEE BELOW
  62.  
  63. K$ = INKEY$             'READ THE KEYBOARD
  64. IF K$ = " " THEN END    'END IF [SPACE] IS PRESSED
  65.  
  66. NEXT LLL
  67.  
  68. GOTO MAINTOP:
  69.  
  70. END
  71.  
  72. DELAY:
  73.  
  74. REM SHOULD BE REPLACED BY- CALL DELAY(SECONDS!)
  75.  
  76. SECONDS = .2
  77. TIME = TIMER
  78. XDELAY = TIME + SECONDS
  79. WHILE NOT (TIMER > XDELAY)
  80. WEND
  81.  
  82. RETURN
  83.  
  84.  
  85.